Digital biquad filter

In signal processing, a digital biquad filter is a second-order recursive linear filter, containing two poles and two zeros. "Biquad" is an abbreviation of "biquadratic", which refers to the fact that in the Z domain, its transfer function is the ratio of two quadratic functions:

\ H(z)=\frac{b_0%2Bb_1z^{-1}%2Bb_2z^{-2}} {1%2Ba_1z^{-1}%2Ba_2z^{-2} }

High-order recursive filters can be highly sensitive to quantization of their coefficients, and can easily become unstable. This is much less of a problem with first and second-order filters; therefore, higher-order filters are typically implemented as serially-cascaded biquad sections (and a first-order filter if necessary).

Contents

Implementation

Direct Form 1

The most straightforward implementation is the Direct Form 1, which has the following difference equation:

\ y(n) = b_0x(n) %2B b_1x(n-1) %2B b_2x(n-2) - a_1y(n-1) - a_2y(n-2)

Here the b_0, b_1 and b_2 coefficients determine zeros, and a_1, a_2 determine the position of the poles.

Flow graph of biquad filter in Direct Form 1:

Direct Form 2

The Direct Form 1 implementation requires four delay registers. An equivalent circuit is the Direct Form 2 implementation, which requires only two delay registers:

The Direct Form 2 implementation is called the canonical form, because it uses the minimal amount of delays, adders and multipliers, yielding in the same transfer function as the Direct Form 1 implementation. The difference equations for DF2 are:

\ y(n)=b_0 w(n)%2Bb_1 w(n-1)%2Bb_2 w(n-2),

where

\ w(n)=x(n)-a_1 w(n-1)-a_2 w(n-2).

References

See also